from rest_framework import serializers


from .models import Area


class AreaSerializer(serializers.ModelSerializer):
    """
    如果查询所有省时， 它代表省的序列化器
    如果查询单个省，此序列化器代表的是省里面的个个市
    如果查询单个市时，此序列化器代表的是市里面的区
    """
    class Meta:
        model = Area
        fields = ('id', 'name')


class SubsAreaSerializer(serializers.ModelSerializer):
    """
    此序列化器只有在查询单一视图时才会使用，如果查询省时， 此序列化器代表省，subs里面就装着省下面所有市
    如果此序列化器代表的是单个市， 那么subs就代表市下面所有区县
    """
    subs = AreaSerializer(read_only=True, many=True)

    class Meta:
        model = Area
        fields = ('id', 'name', 'subs')
